Method and apparatus for efficient data transmission from a tag

ABSTRACT

A tag has circuitry with a communication portion that can transmit and receive wireless signals, including wireless transmission of data blocks that each have a predefined configuration with a plurality of data slots. The circuitry includes a further portion that, in response to receipt through the communication portion of a wireless communication containing a request identifying a set of plural data items, populates respective data slots in one data block with respective data items from the set, and then causes the communication portion to effect wireless transmission of that data block.

FIELD OF THE INVENTION

This invention relates in general to tracking techniques and, moreparticularly, to techniques for tracking items or vehicles using radiofrequency identification technology.

BACKGROUND

According to an existing technique for tracking items or vehicles, adevice known as a radio frequency identification (RFID) tag is mountedon each item or vehicle that is to be tracked. Signposts that transmitshort-range signpost signals are provided near locations where tags arelikely pass, for example near a door through which tags routinelytravel. The tags can receive the signpost signals from nearby signposts,and can also transmit wireless tag signals that include information fromthe signpost signals. The tag signals typically have an effectivetransmission range that is significantly longer than the effectivetransmission range of the signpost signals. Stationary devices commonlyknown as readers are provided to receive the tag signals. Existingsystems of this type have been generally adequate for their intendedpurposes, but have not been satisfactory in all respects.

BRIEF DESCRIPTION OF THE DRAWINGS

A better understanding of the present invention will be realized fromthe detailed description that follows, taken in conjunction with theaccompanying drawings, in which:

FIG. 1 is a block diagram of an apparatus that embodies aspects of thepresent invention, and that includes a signpost, a radio frequencyidentification tag, a reader, and a control system.

FIG. 2 is a diagrammatic view showing the generic format of a universaldata block used in certain communications within the system of FIG. 1.

FIG. 3 is a diagrammatic view of a digital word that is present inwireless signals transmitted by the signpost of FIG. 1.

FIG. 4 is a diagrammatic view of a digital word that is present in onetype of wireless signal transmitted by the tag of FIG. 1.

FIG. 5 is a diagrammatic view of a digital word that is present in onetype of wireless signal transmitted by the reader of FIG. 1.

FIG. 6 is a diagrammatic view of a digital word that is present in asecond type of wireless signal transmitted by the tag of FIG. 1.

FIG. 7 is a diagrammatic view of a digital word that is present in asecond type of wireless signal transmitted by the reader of FIG. 1.

FIG. 8 is a diagrammatic view of a digital word that is present in athird type of wireless signal transmitted by the tag of FIG. 1.

FIG. 9 is a diagrammatic top view of one possible application for anapparatus of the type shown in FIG. 1.

FIG. 10 is a timing diagram showing a sequence of events that can occurin the application depicted in FIG. 9.

FIG. 11 is a high-level flowchart showing a sequence of operationscarried out by the reader of FIG. 1 when used in the applicationdepicted in FIG. 9.

FIG. 12 is a high-level flowchart showing a sequence of operationscarried out by the tag of FIG. 1 when used in the application depictedin FIG. 9.

FIG. 13 is a diagrammatic view of a digital word that is an alternativeembodiment of the digital word in FIG. 5.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an apparatus 10 that embodies aspects ofthe present invention. The apparatus 10 includes a signpost 11, a radiofrequency identification (RFID) tag 12, a reader 13, and a controlsystem 14. The apparatus 10 actually includes many signposts of the typeshown at 11, many tags of the type shown at 12, and several readers ofthe type shown at 13. However, for clarity in the discussion thatfollows, FIG. 1 shows only one signpost 11, one tag 12, and one reader13. In the disclosed embodiment, the signpost 11 and the reader 13 arestationary, and the tag 12 can move relative to them. For example, thetag 12 may be mounted on a not-illustrated vehicle (such as a truck orforklift), or may be mounted on an item that is being transported (suchas a box containing a television set).

The signpost 11 includes a microcontroller 21. Persons skilled in theart are familiar with the fact that a microcontroller is an integratedcircuit having a microprocessor, having a read-only memory (ROM) thatcontains a computer program and static data for the microprocessor, andhaving a random access memory (RAM) in which the microprocessor canstore dynamic data during system operation. The signpost 11 alsoincludes a low frequency transmitter 22 that is controlled by themicrocontroller 21, and that is coupled to an antenna 23. Themicrocontroller 21 can use the transmitter 22 to transmit a lowfrequency signpost signal 24 through the antenna 23. The transmitter 22is of a type known to those skilled in the art, and is therefore notillustrated and described here in detail. The antenna 23 can be aferrite core and/or a planar coil antenna of a known type, or any othersuitable form of antenna. The antenna 23 is configured to transmit anomni-directional signal, but the antenna could alternatively beconfigured to transmit a signal that is to some extent directional.

In the embodiment shown in FIG. 1, the transmitter 22 generates thesignpost signal 24 by effecting amplitude modulation of a carriersignal, where the carrier signal can have a frequency within a range ofapproximately 30 KHz to 30 MHz. Various countries have differentgovernmental regulations regarding electromagnetic emissions. With dueregard to these governmental regulations, the carrier frequency in theembodiment of FIG. 1 is selected to the 132 KHz, but could alternativelybe some other frequency, such as 125 KHz or 13.56 MHz. A furtherconsideration in the selection of a carrier frequency is that thesignpost signals 24 are to exhibit near field characteristics of aprimarily magnetic character.

In this regard, electromagnetic signals have both an electric component(the “E” field) and a magnetic component (the “H” field). The magneticfield (H field) has a significantly higher roll-off than the electricfield. Consequently, it is possible for the magnetic field to besignificant in the near field, but the electric field (E field) willalways dominate in the far field, or in other words at locations remotefrom the transmitter. The low frequency transmitter 22 and the antenna23 are configured so that the magnetic field (H field) dominates in thenear field. Consequently, the transmission and reception of the signpostsignals 24 may be viewed as more of a magnetic coupling between twoantennas, rather than a radio frequency coupling. As a result, thesignpost signals 24 intentionally have a relatively short transmissionrange. This transmission range is adjustable but, in the disclosedembodiment, is typically about four to twelve feet. The localized natureof the signals 24 helps to facilitate compliance with governmentalregulations. It also helps to minimize reception of these signals bytags that are not in the general vicinity of the signpost 11, but arebeyond an intended transmission range of the signpost signals 24.

The signpost 11 is operatively coupled to the control system 14 throughan interface 27. In the embodiment of FIG. 1, the interface 27 is astandard RS-232 serial interface. However, the interface 27 couldalternatively be any other suitable type of interface, including but notlimited to an Ethernet interface, an RS-485 interface, or a wirelessinterface.

The signpost 11 transmits the signpost signal 24 at periodic intervals.The time interval between successive transmissions may be configured tobe relatively small, such as 100 msec, or may be configured to berelatively large, such 24 hours, depending on the particularcircumstances. The signpost signals 24 contain information that isdiscussed in more detail later.

The signpost signal 24 is often transmitted in a relatively noisyenvironment. In order to ensure reliable signal reception, knowntechniques may be used to improve the signal-to-noise ratio (SNR). Inthe embodiment of FIG. 1, the amplitude modulation of the 132 KHzcarrier is effected using the well-known technique of amplitude shiftkeying (ASK), in order to improve the SNR. Alternatively, it would bepossible to use frequency shift keying (FSK) or phase shift keying (PSK)to achieve an even higher SNR. However, FSK and PSK would typicallyrequire additional front-end analog circuitry in each of the tags 12.Therefore, and since it is desirable to be able to implement both thesignpost 11 and the tag 12 at a relatively low cost, the embodiment ofFIG. 1 uses ASK to achieve a reduced SNR.

Turning to the tag 12, the tag 12 includes an antenna 41 that receivesthe signpost signals 24 transmitted by the signpost 11. The antenna 41is coupled to a low frequency receiver 42 of a known type. The receiver42 is coupled to a microcontroller 43. The receiver 42 receives thesignpost signals 24, extracts information from them, and then suppliesthis information to the microcontroller 43. The tag 12 includes a sensor44 that is coupled to an input of the microcontroller 43. The sensor 44may, for example, measure an environmental condition such as an ambienttemperature or humidity.

The microcontroller includes a memory that is shown diagrammatically at46. Among other things, the memory 46 stores set definitions 47 and dataitems 48. The data items 48 might include the information currentlybeing detected by the sensor 44 (such as a current temperature orhumidity), an indication of the current state of a battery that powersthe tag 12, a routing code that represents a destination to which thecontrol system 14 is to send information obtained from the tag, or anyof a variety of other types of information. The set definitions 47 arediscussed in more detail later. The tag 12 also includes a timer 49 thatcan be used by the microcontroller 43 to measure some time intervals.The time intervals are explained in more detail later.

In FIG. 1, the circuitry within the tag 12 is powered by anot-illustrated battery. The tag 12 has at least two different modes ofoperation, including a normal operational mode, and a sleep mode. In thesleep mode, some or all of the circuitry within the tag 12 is powereddown, in order to conserve battery power.

The microcontroller 43 controls an ultra high frequency (UHF)transceiver 51 of a known type. The transceiver 51 is coupled to a knowntype of antenna 52. In the disclosed embodiment, the antenna 52 isomni-directional, but the antenna 52 could be alternatively beconfigured to be directional. Using the transceiver 51 and the antenna52, the microcontroller 43 of the tag 12 can transmit signals 56 to thereader 13, and receive signal 56 transmitted by the reader 13. In theembodiment of FIG. 1, the signals 56 are generated by FSK modulation ofcertain information onto a radio frequency (RF) carrier signal. Thiscarrier signal has a frequency of 433.92 MHz, but it could alternativelyhave any other suitable frequency. One possible alternative frequency is915 MHz. However, the embodiment of FIG. 1 uses the frequency of 433.92MHz because it is available for use in a larger number of countriesunder prevailing governmental regulations regarding the transmission ofelectromagnetic signals.

The transmission range for the signals 56 is substantially longer thanthat for the signpost signals 24. In the disclosed embodiment, thetransmission range for the signals 56 can be up to about 300 feet. Thesignals 56 contain information that is explained in more detail later.

In FIG. 1, the reader 13 includes an antenna 71 that is coupled to a UHFtransceiver 72. As is known in the art, it would be possible for thereader 13 to have two antennas at 71 that are perpendicular to eachother, in order to facilitate more reliable communication between thetag 12 and the reader 13. Similarly, the tag 12 could have two antennasat 52 that are perpendicular to each other, in order to facilitate morereliable communication. However, for simplicity and clarity, FIG. 1shows one antenna at 52 and one antenna at 71.

In the reader 13, the transceiver 72 is coupled to a microcontroller 73,and the microcontroller 73 is coupled to a network interface 76. Thenetwork interface 76 is coupled through a network 77 to the controlsystem 14. In FIG. 1, the network 76 is a type of network that iscommonly known in the art as an Ethernet network. However, the network77 could alternatively be any other suitable type of network orcommunication system. The reader 13 includes some timers that areoperatively coupled to the microcontroller 73, for a purpose that isdiscussed later.

As mentioned earlier, the memory 46 in the tag 12 stores a number ofdata items at 48. In pre-existing systems, a significant amount ofinteraction was needed between a tag and a reader in order to transferseveral data items from the tag to the reader. For example, the tag andreader would each need to transmit at least one signal just to establishcommunication with each other. Then, for each item of data that thereader wanted to obtain, the reader would transmit a signal to the tagin order to specifically identify and request the particular data item,and then the tag would transmit back a signal containing thespecifically requested data item.

The apparatus 10 shown in FIG. 1 provides a more efficient technique fortransmitting data from the tag 12 to the reader 13. As one aspect ofthis, instead of transmitting data items from the tag 12 to the reader13 on a one-by-one basis, the apparatus 10 is configured so that thereader 13 can ask the tag to transmit a data block containing severalitems of data, and the tag 12 will then prepare and transmit the datablock to the reader 13.

In more detail, FIG. 2 is a diagrammatic view showing the generic formatof a universal data block (UDB) 86. The UDB 86 has N similar data slots,where N is an integer. Each of the N data slots has the same format,including the same three fields. These three fields are a type field, alength field and a data field. The data field contains the actual data.The type field identifies the type of data in the data field, forexample whether the data is a temperature from the sensor 44, thecurrent state of a battery, a routing code, or some other type of data.The length field identifies the actual length of the data field. Thisgeneric format of the UDB 86 is compatible not only with existing typesof data that may need to be sent from the tag 12 to the reader 13, butalso with virtually any type of future data.

The number N of data slots in the UDB 86 is not fixed, but can be variedin order to accommodate the number of data items that need to betransferred in a given situation. Ideally, the tag 12 would send thereader 13 a single transmission that included the entire UDB 86. As apractical matter, however, real-world circumstances may be such that itis desirable for the tag 12 to divide the UDB 86 into two or moresegments, and then transmit each of the segments in a respectivedifferent transmission. For example, where the number N of data items inthe UDB 86 is relatively large, the tag 12 may divide the UDB 86 intotwo or more segments that are sent separately. Alternatively, where thetag 12 and reader 13 are communicating through an ambient environmentthat is relatively noisy, the UDB 86 may be divided and sent as two ormore segments, in order to reduce the likelihood of errors. On the otherhand, when the ambient environment is not particularly noisy, the entireUDB 86 may be sent in a single transmission.

The information contained in the wireless signals 24 and 56 will now bediscussed in more detail, including an explanation of how the UDB 86 canbe transmitted from the tag 12 to the reader 13. In this regard, FIG. 3is a diagrammatic view of a digital word 101 that is embedded in thesignpost signals transmitted at 24. The bits of the digital word 101 areincorporated into the signpost signal 24 by serially modulating the bitsof the word 101 onto the 132 KHz carrier using amplitude modulation, asdiscussed above. The bits of the word 101 are transmitted serially fromleft to right in FIG. 3.

The digital word 101 includes several fields. The first field is apreamble 103, which is a predefined pattern of bits that will allow adevice receiving the signal 24 to recognize that the signpost signal isbeginning, and to synchronize itself to the signpost signal. In thedisclosed embodiment, the preamble is approximately eight bits, but thespecific number of bits can vary in dependence on factors such ascharacteristics of a particular receiver that is expected to receive thesignpost signal.

The next field 104 in the word 101 is a signpost identification (ID)104. In the disclosed embodiment, the signpost ID 104 is a 12-bitinteger value that uniquely identifies a particular signpost 11 that istransmitting the word 101. As mentioned above, the system 10 may have anumber of signposts 11, and the use of a respective different signpostID 104 by each signpost permits the system to distinguish signpostsignals transmitted by one signpost from signpost signals transmitted byanother signpost. This does not mean that the system could never havetwo signposts with exactly the same signpost code. For example, twosignposts might be stationarily mounted in close proximity to eachother, and could be configured to independently transmit signpostsignals with the same signpost ID.

Another field in the word 101 of FIG. 3 is a low frequency (LF) windowsize 106. The window size 106 defines the length of a time interval thata tag 12 will have to transmit a signal at 56 to the reader 13, afterthe tag receives a signpost signal 24. This is discussed in more detaillater. The next field 107 in the word 101 is an error control field 107.Communications between the signpost 11 and other devices are essentiallyone-way transmissions. In addition, many applications for the apparatus10 of FIG. 1 involve environments that have relatively high noiselevels. Accordingly, it is desirable for a receiving device to be ableto evaluate whether the word 101 that it received in a signpost signalis correct, or has errors. Consequently, the error control field 107 isincluded in the word 101 in order to permit the receiving device toidentify and/or correct errors. In the disclosed embodiment, the errorcontrol field 107 contains a cyclic redundancy code (CRC). However, itwould alternatively be possible to use any other suitable errorcorrection scheme, such as parity information, or a forward errorcorrection (FEC) code.

The next field in the word 101 is a packet end field 108. This fieldsignals to a receiving device that the transmission is ending. In thedisclosed embodiment, the packet end field 108 has eight bits that areall set to a binary zero. However, the packet end field 108 couldalternatively have any other suitable configuration.

It would be possible for the word 101 to have one or more additionalfields, for example as indicated diagrammatically at 111. However, evenassuming that additional fields were present, it is not necessary tospecifically identify and explain them in order to convey anunderstanding of the present invention.

As discussed above, the tag 12 has at least two operational modes,including a normal operational mode and a reduced-power sleep mode. Whenthe tag 12 is in its sleep mode and receives a signpost signal 24, thetag will switch from its sleep mode to its normal operational mode.Since the signpost 11 is normally near a reader 13, the tag 12 willrespond to the signpost signal 24 by transmitting a type of tag signal56 that is sometimes referred to as a beacon signal, in order to notifyany nearby reader that the tag is present.

FIG. 4 is a diagrammatic view of a digital word 121 that is transmittedin the tag's beacon signal. As shown in FIG. 4, the word 121 begins witha preamble 123. The preamble 123 is functionally comparable to thepreamble 103 in the word 101 of FIG. 3. In the disclosed embodiment, thepreamble 123 lasts 1.296 msec, and includes 20 cycles that each includea 30 msec logic high and 30 msec logic low, followed by one cycle thatincludes a 42 msec logic high and then a 54 msec logic low. The nextfield in the word 121 is a tag status field 124. This field containssome current status information about the tag 12 that is making thetransmission.

The next field is a message length field 126, and defines the overalllength of the word 121. The next field is a reader ID field 127. Inappropriate circumstances, the reader ID field 127 is used to identify aparticular reader to which the word 121 is being transmitted. However,in the context of the hypothetical example being discussed here, the tag12 would typically not yet have the identification code of anyparticular reader, and would therefore put some form of predefined codein the field 127. For example, the tag might set each of the bits in thefield 127 to a binary zero. This predefined code can notify a readerthat the signal it has received is a beacon signal from a tag isattempting to establish communication with any reader in its vicinity.

The next field in the word 121 is a tag ID field 128. This is a binarycode that uniquely identifies the particular tag 12 that is making thistransmission. Thus, when several tags 12 are present in the vicinity ofa particular reader 13, the reader can tell which of the tags 12transmitted each signal that it receives.

The next field in the word 121 is a data field 129. The data field 129is actually a group of several individual fields 132-134. The field 132is a tag type field, and identifies the particular type of tag that istransmitting the word 121. Consequently, a reader that receives awireless signal containing the word 121 will know the particular type ormodel of tag that transmitted the word 121. The next field 133 is anasset type field. As mentioned earlier, the tag 12 may be mounted on anyof a variety of different types of movable assets, such as a forklift orother vehicle, or an item that is being transported. The asset typefield 133 can be used to provide the reader 13 with information aboutthe particular type of asset on which the tag 12 is currently mounted.The field 134 is a signpost ID field, and contains the signpost ID fromthe field 104 of the word 101 (FIG. 3) in the signpost signal mostrecently received by the tag 12 from any signpost 11.

The word 121 also includes an error control field 137. In the disclosedembodiment, this is a CRC code, but it could alternatively be any othersuitable error detecting and/or correcting information. The word 121ends with a packet end field 138. In the disclosed embodiment, thepacket end field 138 is a string of binary zeros representing a logiclow that lasts 36 msec. The packet end field 138 indicates to areceiving device that the transmission of the word 121 is ending.

When the reader 13 receives a tag signal containing the word 121, thereader transmits a collection signal back to the tag. FIG. 5 is adiagrammatic view of a digital word 151 that is contained in thecollection signal transmitted by the reader 13. The word 151 has severalfields, and the first is a preamble 152 that is functionally comparableto the preambles 103 and 123 in FIGS. 3 and 4. The preamble 152 isfollowed by three fields that respectively contain a protocol code 153,a command type 156, and an owner ID 157. It is not necessary tounderstand these three fields for purposes of the present invention, andthese three fields are therefore not described here in detail.

The next field is a reader ID field 158. This is an identification codethat is unique to the particular reader that is transmitting the signalcontaining word 151. The field 158 allows tags that receive the word 151to identify the particular reader that transmitted it. The next field isan operation code 159. When a tag 12 receives a signal containing theword 151, the operation code 159 tells the tag what it should do inresponse to the signal. In the hypothetical example being discussedhere, the operation code 159 is a predetermined code that tells each tagthe received signal is a collection signal.

The operation code field 159 is followed by a parameter field 162, andthe parameter field 162 is actually a set of several fields. Morespecifically, within the parameter field 162, the first field is a UHFwindow size 164. The window size value at 164 defines the length of atime interval within which tags should transmit a reply after theyreceive a collection signal containing the word 151. The window sizevalue at 164 is different from the window size value at 106 in the word101 of FIG. 3, as explained in more detail later.

The next field in the word 151 of FIG. 5 is a maximum packet lengthfield 166. The field 166 defines the maximum amount of information thata tag will be allowed to include in a transmission that it sends inreply to receipt of the word 151. Thus, for example, if the UDB 86 ofFIG. 2 is longer than the maximum packet length 166, the tag will needto divide the UDB 86 into at least two segments, and then send eachsegment in a separate transmission.

The next two fields in the word 151 are a start signpost ID field 167and a stop signpost ID field 168. The fields 167 and 168 together definethe upper and lower bounds of a range of signpost IDs. When a tag 12receives a collection signal containing the word 151, the tag comparesthe range defined by the fields 167 and 168 with the signpost ID (104 inFIG. 3) that the tag most recently received from a signpost. If the mostrecently-received signpost ID is within the range, then the tag willtransmit a reply to the collection signal containing the word 151. Onthe other hand, if the most recently-received signpost ID is outside therange defined by fields 167 and 168, the tag will not reply to thecollection signal.

The next field is a UDB type field 169. As discussed above inassociation with FIG. 1, the microcontroller 43 in each tag 12 has amemory 46 that stores a plurality of set definitions 47. Each setdefinition identifies a respective different set of the plural dataitems 48 that are stored in the memory 46. When a tag receives acollection signal containing the word 151, the UDB type field 169identifies a selected one of the set definitions stored at 47, and thisselected set definition identifies a particular set of the data itemsstored at 48. The tag 12 then sets up a UDB 86 (FIG. 2), and populateseach data slot with a respective different data item identified by theparticular set definition specified by the UDB type field 169.

The last two fields in the word 151 are an error control field 173containing a CRC code, and a packet end field 174. The error controlfield 173 is comparable to the error control fields shown at 107 in FIG.3 and 137 in FIG. 4. The packet end field 174 is comparable to thepacket end fields shown at 108 in FIG. 3 and 138 in FIG. 4.

When the tag 12 receives the collection signal containing the word 151of FIG. 5, the tag responds by transmitting to the reader 13 a furthertag signal that will contain at least part of a UDB 86 requested at 169(FIG. 5) by the collection signal. More specifically, this tag signalwill include a digital word that is shown diagrammatically at 201 inFIG. 6. The digital word 201 is similar in many respects to the digitalword 121 of FIG. 4. Therefore, the following discussion will focusprimarily on the differences.

More specifically, since the tag 12 has received the collection signalcontaining the word 151 of FIG. 5, where field 158 contains a reader ID,the tag will take the reader ID from field 158 and put it in the readerID field 127 of the word 201. This has the effect of earmarking the word201 for use by a particular reader 13. If any other reader happens toreceive the tag signal containing the word 201, it will ignore the word201.

The data contained in the data field 129 of the word 201 is differentfrom the data contained in the data field 129 of the word 121. Morespecifically, the data field 129 in the word 201 is actually a group ofseveral individual fields, the first of which is a routing informationfield 203. The routing information field 203 identifies a destination towhich the reader 13 and the control system 14 are to send informationrelating to the tag 12 that generated the word 201.

The next field 204 is a sequence ID countdown field. When the tag 12 hasto divide the UDB 86 of FIG. 2 into two or more segments that will besent to the reader 13 in respective different transmissions, thesequence ID countdown field 204 is used to tell the reader 13 how manyseparate transmissions will be sent, and to uniquely identify eachtransmission. In particular, in the transmission that contains the firstdata segment of the UDB 86, the sequence ID countdown field 204 willcontain a value that is the total number of data segments. As eachsuccessive data segment is transmitted, the value in the sequence IDcountdown field 204 is decremented so that, when the last data segmentis transmitted, the sequence ID countdown field 204 will have a value of“1”. Where the tag is able to send the entire UDB 86 in a singletransmission, the sequence ID countdown field 204 in that transmissionwill contain a value of “1”.

The sequence ID countdown field 204 is followed by a segment 207 thatcontains part of the UDB 86. More specifically, the segment 207 containstwo data items, and part of a third data item. The remainder of thethird data item will be sent by the tag 12 in a subsequent transmission,as discussed later.

After the reader 13 receives the tag transmission that contains the word201 of FIG. 6, the reader 13 will examine the sequence ID countdownfield 204 in the word 201, in order to determine whether the reader hasreceived the entire UDB that is being transmitted by the tag. If not,then the reader will transmit one or more request signals to separatelyrequest each of the remaining segments of the UDB. FIG. 7 is adiagrammatic view of a digital word 221 that is contained in each suchrequest signal. Many of the fields in the word 221 are identical orequivalent to fields in the word 151 of FIG. 5. The following discussionwill therefore focus on the differences.

First, the operation code field 159 will contain a different operationcode, in order to indicate to the tag 12 that this a request signalrather than a collection signal. It will be noted that the operationcode field 159 is followed by a tag ID field 223. The value in the tagID field 223 is the value that the reader 13 received from the tag inthe tag ID field 128 of the word 201 (FIG. 6). Thus, although thecollection signal containing the word 151 of FIG. 5 was transmitted toany and all tags 12 within the transmission range of the reader, therequest signal containing the word 221 of FIG. 7 is intended for use bya single tag, and in particular the tag that has the tag ID present inthe field 223. Other tags may receive the request signal, but each willignore it if the value in the tag ID field 223 is different from its owntag ID.

In the word 221 of FIG. 7, the information in the parameter field 162 isdifferent from the information in the parameter field 162 of the word151 (FIG. 5). More specifically, the parameter field 162 in the word 221begins with a sequence ID field 226. In this field, the readeridentifies a particular segment of the UDB that the reader 13 wants thetag 12 to send. The reader 13 will put the number “1” in this field ifit wants the tag 12 to send the second data segment of the UDB, will putthe number “2” in this field if it wants the tag to send the third datasegment, and so on. If the reader 13 detects an error in a transmissionreceived from the tag, the reader 13 can ask the tag to re-transmit aparticular data segment by sending another request signal in which thesequence ID field 226 contains the numerical value that identifies thedata segment associated with the error.

When the tag receives a request signal containing the word 221 of FIG.7, the tag will respond by sending the next data segment from the UDB86. In this regard, the signal transmitted by the tag will include thedigital word that is shown diagrammatically at 241 in FIG. 8. Many ofthe fields in the digital word 241 are identical or equivalent to fieldsin the word 201 of FIG. 6. To avoid redundancy, these fields are notdescribed again here. Instead, the following discussion will focus ondifferences.

In this regard, the tag ID field 128 is followed by an operation codefield 243. The tag 12 places in the operation code field 243 theoperation code that the tag received in the operation code field 159 ofthe word 221 previously received from the reader 13. In the word 241,the data field 129 does not include the routing information shown at 203in FIG. 6, because this routing information has already been sent to thereader. The data field 129 does include the sequence ID countdown field204, and also the next segment 246 of the UDB 86. It will be noted thatthe UDB segment 246 includes the remainder of the third data item, aswell as a fourth data item. This exemplary UDB has only four data items,and thus the data segment 246 contains the last of the data from theUDB. Consequently, it will be noted that the data field 129 in the word241 is shorter than the data field 129 in the word 201. This in turnmeans the word 241 has an overall length that is shorter than theoverall length of the word 201. This is handled by setting the messagelength field 126 to different values for each of the words 201 and 241.

After receiving the tag signal containing the word 241 of FIG. 8, thereader 13 can combine the data segment 207 from the word 201 (FIG. 6)with the data segment 246 from the word 241 (FIG. 8), in order toreassemble the entire UDB 86 the reader 13 can then send this UDB on tothe control system 14, along with other relevant information, such asthe identity of the particular tag 12 that sent the UDB. It should benoted that the reader 13 does not need to analyze or interpret the UDB,but can simply send it on to the control system 14. The reader 13 sendsalong the routing information shown at 203 in FIG. 6, and the controlsystem 14 can use the routing information 203 to forward the UDB and/orinformation about the tag 12 to a destination specified by the routinginformation 203.

FIG. 9 is a diagrammatic top view of a particular hypotheticalapplication 301 for the signpost 11, the reader 13, and three tags thatare respectively identified by reference numerals 12A, 12B and 12C. Thesignpost 11 is stationarily mounted by a doorway or gate 302 thatconstitutes a “choke point”. The reader 13 is stationarily mounted on anot-illustrated ceiling in the vicinity of the doorway 302. Assume thatthe tags 12A, 12B and 12C are traveling along respective paths of travel306-308, such that the tags each pass through the doorway 302. It willbe noted that the tag 12A passes through the doorway first, followed bythe tag 12B, and then the tag 12C.

FIG. 10 is a timing diagram showing a sequence of events that can occuras the tags 12A-12C successively pass through the doorway 302. Asmentioned above in association with FIG. 9, the tags 12A, 12B and 12Cpass successively through the doorway 302, and thus encounter thetransmission field of the signpost 11 at successive different points intime. In FIG. 10, reference numerals 316, 317 and 318 designate thepoints in time at which the tags 12A, 12B and 12C respectively encounterthe transmission field of the signpost 11.

The tags are designed so that, when each tag first encounters thetransmission field of the signpost 11, the tag does not immediatelytransmit any wireless signal. Instead, the tag waits for a time intervalof 200 msec, while listening for any transmission by a reader. This 200msec time interval is identified by reference numeral 321 in FIG. 10.During this 200 msec time interval 321, if a tag receives from a readera wireless signal that is referred to as a “quiet” signal, the tagimmediately restarts the 200 msec wait period. On the other hand, if thetag receives from a reader the wireless collection signal shown in FIG.5, the tag will immediately terminate the 200 msec wait, and beginpreparing to transmit the tag signal shown in FIG. 6, including all orpart of a UDB. On the other hand, if the tag does not receive anywireless signal from a reader during the 200 msec time interval 321,then the tag will prepare to transmit its beacon signal (FIG. 4). Inthis regard, the window size value 106 (FIG. 3) that the tag receivedfrom the signpost 11 defines a time interval 322 (FIG. 10) that beginsat the end of the time interval 321, and that represents a window duringwhich the tag is to transmit its tag or beacon signal (FIG. 4). The tag12 basically divides the time interval 322 into a plurality of timeslots that are not illustrated, randomly selects one or more of thesetime slots, and then transmits its beacon signal during each selectedtime slot.

With reference to FIG. 9, the tag 12A is the first tag to encounter thesignpost 11, at a point in time 316 (FIG. 10). The tag 12A then beginswaiting out the 200 msec time interval 321. The reader 13 is notcurrently transmitting, and thus the tag 12 will not receive anywireless signals from the reader 13. Consequently, after the end of timeinterval 321 and during the time interval 322, the tag 12A will transmitits tag or beacon signal (FIG. 4). This wireless signal is identifieddiagrammatically at 331 in FIG. 10.

The signal 331 will be received by the reader 13, and will cause thereader 13 to embark on a collection sequence. The collection sequencebegins with transmission of the collection signal that is shown in FIG.5, and that is indicated diagrammatically at 332 in FIG. 10. Followingtransmission of this collection signal 332, the reader 13 repeatedlytransmits the quiet signal during the collection sequence, at periodictime intervals that are spaced by 200 msec or slightly less, asindicated diagrammatically at 334 in FIG. 10.

As mentioned earlier, the collection signal of FIG. 5 contains a UHFwindow size value 164. This window size value 164 defines the length ofa time interval during which each tag should respond to the collectionsignal. This time interval is shown at 336 in FIG. 10. Depending onoperational circumstances, the reader 13 or the control system 14 mayincrease or decrease the window size value 164, and thus the length ofthe time interval 336, in order to optimize operation and promotethroughput while minimizing errors. In response to receipt of thecollection signal from the reader 13, the tags 12A, 12B and 12C eachdivide the specified time interval 336 into a plurality of slots,randomly select one or more of these slots, and then transmit the tagsignal of FIG. 6 in each selected slot. For example, in FIG. 10, the tag12A transmits a tag signal of the type shown in FIG. 6. For purposes ofthe hypothetical application shown in FIG. 9, it is assumed that the tag12A is able to include its entire UDB in this single transmission.Consequently, upon transmitting a tag signal of the type shown in FIG.6, the tag 12A will have completed transmission of its entire UDB to thereader 13.

Turning now to tag 12B, FIG. 10 shows that the reader 13 transmits itscollection signal 332 during a 200 msec time interval when the tag 12Bis listening for transmissions from readers. The tag 12B will receivethis collection signal, and will respond by selecting at least one timeslot during the time interval 336 defined by the UHF window size. Thetag 12 b will then transmit a tag signal of the type shown in FIG. 6with a first portion of its UDB, as shown diagrammatically at 346 inFIG. 10. For the purpose of this hypothetical example, it is assumedthat the tag 12B finds it needs to divide its UDB into two segments.Upon expiration of the time interval 336 defined by the UHF window size,the reader 13 transmits to the tag 12B a request signal of the typeshown in FIG. 7. This request signal instructs the tag 12B to send thenext segment of its UDB. Within the time interval 349 that correspondsto the UHF window size, the tag selects at least one time slot, and thentransmits the next segment of its UDB during each selected time slot, asindicated diagrammatically at 352 in FIG. 10. Upon expiration of thetime interval 349, the reader 13 will find that it has received anentire UHB from the tag 12A, and also an entire UHB from the tag 12B.Therefore, upon expiration of the time interval 349, the reader 13 willpromptly transmit two sleep signals 354, one of which tells the tag 12Ato switch to its sleep mode, and the other of which tells the tag 12B toswitch to its sleep mode. Accordingly, the tags 12A and 12B each enterthe sleep mode.

Turning to the tag 12C, and as discussed above in association with FIG.9, the tag 12C passes the signpost 11 after tags 12A and 12B havealready passed the signpost. The tag 12C first encounters thetransmission field of the signpost 11 at point 318 in FIG. 10, or inother words after the reader 13 has transmitted its collection signal332. Consequently, during the 200 msec period when the tag 12C islistening for signals from the reader 13, the tag 12C will successivelyreceive each of the four quiet signals 334 (FIG. 10). Each of thesequiet signals will restart timing of the 200 msec time interval. Afterreceipt of the final quiet signal 334 in FIG. 10, the tag 12C waits 200msec while listening for reader signal, but does not happen to receive acollection signal or a quiet signal from the reader 13. Therefore, afterexpiration of this 200 msec time interval, the tag 12C will transmit itstag or beacon signal (FIG. 4), as shown diagrammatically at 361 in FIG.10. This transmission by tag 12C is equivalent to the prior transmissionby tag 12A of beacon signal 331. The beacon signal causes the reader 13to initiate another collection sequence, beginning with transmission ofa further collection signal 362. During this further collectionsequence, the tag 12C will send the reader 13 one or more wirelesssignals that contain a UDB.

FIG. 11 is a high-level flowchart showing in a different format thesequence of operations carried out by the reader 13 during a collectionsequence of the type shown in FIG. 10. In FIG. 11, the sequence startsat 401, and proceeds to block 402, where the reader 13 waits to receivea tag or beacon signal of the type shown in FIG. 4, and also shown at331 and 361 in FIG. 10. When such a signal is received, the readerproceeds to block 403, where it transmits a collection signal of thetype shown in FIG. 5, and also shown at 332 and 362 in FIG. 10. Then, atblock 406, the reader starts two of the timers 79 (FIG. 1). Inparticular, the reader starts a window timer that will measure the timeinterval shown at 336 in FIG. 10, based on the UHF window size. Further,the reader starts a quiet timer that will measure the 200 msec timeinterval between successive quiet signals 334 in FIG. 10.

The reader then proceeds to block 407, where it checks to see if thequiet timer has expired. If the quiet timer has expired, then at block408 the reader transmits the quiet signal 334 (FIG. 10) and restarts the200 msec quiet timer. From either block 407 or block 408, the readerproceeds to block 411. In block 411, the reader checks to see whether ithas received a reply from any tag, in the form of the tag signal shownin FIG. 6, and also shown at 341 and 346 in FIG. 10. When the readerfinds that it has received such a tag signal, the reader proceeds toblock 412, where it stores the data from the tag signal, including allor part of a UDB. During the time interval 336 in FIG. 10, the readermay receive tag signals of this type from a large number of tags.

From either block 411 or block 412, the reader proceeds to block 413,where it checks to see whether the window timer has expired. If not,then the reader returns to block 407. If the window timer has expired,then the reader proceeds to block 416. In block 416, the readerdetermines whether it has received all UDB data that it requested fromeach of the tags with which it is communicating. If not, then the readerproceeds to block 417, where it restarts the window timer, and transmitsone or more request signals of the type shown in FIG. 7, and also shownat 348 in FIG. 10. In particular, the reader transmits such a requestsignal to each tag from which the reader has not yet received allsegments of a UDB. From block 417, the reader returns to block 407.

If the reader determines in block 416 that it has received all data thatit requested from each of the tags with which it is communicating, thenthe reader proceeds to block 418, where it transmits a respective sleepsignal to each of the tags from which it has collected data, asindicated diagrammatically at 354 in FIG. 10. In particular, the reader13 transmits respective sleep signals to the tag 12A and the tag 12B. Onthe other hand, the reader 13 does not transmit a sleep signal to thetag 12C, because the reader 13 is not yet aware of the presence of tag12C, and has not yet collected data from tag 12C. The reader 13 thenreturns to block 402, to wait for receipt of the next tag beacon signal.It will be recognized that the reader 13 also carries out other tasks,such as forwarding to the control system 14 the data that the reader hascollected from each tag. For clarity, and to avoid confusion, theseother tasks have been intentionally omitted from the flowchart of FIG.11.

FIG. 12 is a high-level flowchart showing in a different format thesequence of operations carried out by each of the tags 12A, 12B and 12Cduring a collection sequence of the type shown in FIG. 10. It is assumedthat each tag is in its sleep mode when it first encounters thetransmission field of the signpost 11. When the tag finds in block 441that it has received a signpost signal, the tag switches from its sleepmode to its normal operational mode, and proceeds to block 442. In block442, the tag starts the timer shown at 49 in FIG. 1, in order to measurethe 200 msec time interval shown at 321 in FIG. 10.

As explained earlier, the tag waits during this 200 msec time interval,while listening for certain wireless signals from a reader. Inparticular, the tag proceeds to block 443, where it checks to see if ithas just received a collection signal of the type shown in FIG. 5, andalso shown at 332 and 362 in FIG. 10. If so, then the tag proceeds toblock 444, which is discussed later. Otherwise, the tag proceeds toblock 446, where it checks to see if it has received a quiet signal ofthe type shown at 334 in FIG. 10. If so, then at block 447 the tagrestarts its 200 msec timer. From either block 446 or 447, the tagproceeds to block 448.

In block 448, the tag checks to see whether the 200 msec timer hasexpired. If the timer has not expired, then the tag returns to block443. Otherwise, the tag proceeds from block 448 to block 451. In block451, the tag transmits a tag or beacon signal of the type shown in FIG.4, and shown at 331 and 361 in FIG. 10. The tag then starts its timer,in order to measure the time interval shown at 322 in FIG. 10, where thelength of this time interval depends on the specified low frequencywindow size (106 in FIG. 3). The tag then waits to see whether itreceives a collection signal. In particular, the tag proceeds to block452, where it checks to see if it has received a collection signal. Ifnot, then it proceeds to block 453, where it checks to see if the timerhas expired. If the timer has expired, then the tag proceeds to block456, and returns to its sleep mode, in order to conserve battery power.On the other hand, if the tag determines at block 453 that its timer hasnot expired, the tag returns to block 452 in order to continue to waitfor a collection signal. If at some point the tag discovers in block 452that it has received a collection signal, then the tag proceeds to block444.

In block 444, the tag selects one or more time slots within the timeinterval 336 of FIG. 10, and then transmits in each selected slot a tagsignal of the type shown in FIG. 6, which includes all or part of a UDB.At this point, the tag expects that it will eventually receive some formof further communication from the reader. However, it is possible thatsome type of error may occur, such that the tag does not actuallyreceive any further communication. In order to detect and handle such anerror, the tag starts a timer 49 that will eventually put the tag tosleep if the tag has not received the expected further communicationfrom the reader, in order to conserve battery power.

From block 444, the tag proceeds to block 457, where it checks to seewhether it has received from the reader a request signal of the typeshown in FIG. 7, and shown at 348 in FIG. 10. If so, then the tagproceeds to block 458, where it selects one or more time slots withinthe time interval shown at 349 in FIG. 10, and then transmits in eachselected time slot a tag signal of the type shown in FIG. 8, and shownat 352 in FIG. 10. This tag signal includes another segment of data fromthe UDB. The tag then restarts the timer that is running. From eitherblock 457 or block 458, the tag proceeds to block 461.

In block 461, the tag checks to see whether it has received from thereader a sleep signal of the type shown at 354 in FIG. 10. If so, thetag proceeds to block 463, and returns to its sleep mode. Otherwise, thetag proceeds from block 461 to block 462, where it checks to see if thetimer has expired. If not, then the tag returns to block 457, to waitfor the next communication from the reader. On the other hand, if thetag finds at block 462 that the timer has expired, then an error hasoccurred, because the tag has not received an expected communicationfrom the reader within a reasonable period of time. Accordingly, the tagproceeds to block 463 to return to the sleep mode.

As discussed above, the word 151 in the collection signal includes a UDBtype field 169. This UDB type field 169 identifies one of the setdefinitions stored at 47 in the memory 46 of the tag 12. In turn, theselected set definition specifically identifies one or more data itemsthat are stored at 48. The tag then populates a UDB 86 (FIG. 2) withthese specific data items. FIG. 13 is a diagrammatic view of a digitalword 501 that can be sent in a collection command, and that is analternative embodiment of the digital word 151 of FIG. 5. There is onesignificant difference between the digital word 501 of FIG. 13 and thedigital word 151 of FIG. 5. In particular, the UDB type field 169 in thedigital word 151 has been replaced with a list 506 that contains severalitem ID fields. In particular, each field in the list 506 sets forth arespective item ID code for a respective data item that is stored at 48in the memory 46 of the tag 12 (FIG. 1). Thus, in the list 506, thereader 13 specifies exactly which data items it would like to receive.As a result, the reader does not need to rely on one of the predefinedset definitions at 47, which may specify more or less information thanthe reader would ideally like to receive. When the tag 12 receives acollection signal of the type shown in FIG. 13, it prepares a UDB 86(FIG. 2) that is populated with the specific set of data itemsidentified by the list 506. Then, it sends the UDB to the reader 13, inthe manner that has already been described in detail above.

Although selected embodiments have been illustrated and described indetail, it should be understood that a variety of substitutions andalterations are possible without departing from the spirit and scope ofthe present invention, as defined by the claims that follow.

1. An apparatus comprising a tag having circuitry that includes: acommunication portion that can transmit and receive wireless signals,including wireless transmission of data blocks each having a predefinedconfiguration that includes a plurality of data slots; and a furtherportion that, in response to receipt through said communication portionof a wireless communication containing a request identifying a set ofplural data items, populates respective said data slots in one said datablock with respective said data items from said set, and then causessaid communication portion to effect wireless transmission of said onedata block.
 2. An apparatus according to claim 1, wherein said requestincludes a list that individually identifies each of said plural dataitems in said set.
 3. An apparatus according to claim 1, wherein saidtag stores a plurality of different predefined set definitions that eachidentify a respective different plurality of data items; wherein saidrequest identifies one of said set definitions; and wherein said furtherportion of said tag carries out said populating of the data slots insaid one data block using the data items identified by the setdefinition identified in said request.
 4. An apparatus according toclaim 1, wherein said request includes an identification of the lengthof a time interval during which said tag is to transmit a wirelesstransmission in response to said request.
 5. An apparatus according toclaim 1, wherein said communication portion can receive wirelesssignpost signals that each include a signpost identification code; andwherein said request identifies a range of signpost identificationcodes, said further portion of said tag inhibiting said transmission ofsaid one data block if the signpost identification code most recentlyreceived by said tag is outside said range of identification codes. 6.An apparatus according to claim 1, wherein said tag effects saidwireless transmission of said one data block by dividing said one datablock into a plurality of data segments and by effecting a plurality ofsuccessive transmissions that each include a respective said datasegment.
 7. An apparatus according to claim 6, wherein said tagtransmits said successive transmissions in response to receipt ofrespective communications in a series of wireless communications, thefirst of said wireless communications in said series being said wirelesscommunication containing said request.
 8. An apparatus according toclaim 7, wherein, after said wireless communication containing saidrequest, each of said wireless communications in said series includes arespective sequence identifier that uniquely identifies a respectivesaid data segment that said further portion of said tag is to transmitin the next of said successive transmissions.
 9. An apparatus accordingto claim 6, wherein said request includes information that determines amaximum permissible size for said data segments.
 10. An apparatusaccording to claim 6, wherein said successive transmissions each includea respective sequence identifier that uniquely identifies a respectivesaid data segment in said one data block.
 11. An apparatus according toclaim 10, wherein said sequence identifiers are successive integerstransmitted in reverse numerical order, the sequence identifier in thefirst of said successive transmissions being the total number of datasegments in said one data block.
 12. An apparatus according to claim 1,wherein each of said data blocks is transmitted with routing informationthat identifies a destination for that data block.
 13. An apparatusaccording to claim 1, wherein said data slots each conform to a uniformformat.
 14. An apparatus according to claim 13, wherein said uniformformat includes each said data slot having a data field containing thecorresponding data item, a length field that identifies the length ofthe data field, and a type field that identifies the type of data itemin the data field.
 15. An apparatus according to claim 1, wherein saidtag has a memory with a plurality of separate data items stored therein;and wherein said tag effects said population of said data slots in saidone data block using data items retrieved from said memory.
 16. Anapparatus according to claim 1, including a reader, said readertransmitting to said tag said wireless communication containing saidrequest, and receiving said one data block transmitted by said tag inresponse to said request.
 17. A method of operating a tag, comprising:receiving in said tag a wireless communication containing a requestidentifying a set of plural data items; preparing a data block thatconforms to a predefined configuration and that has a plurality of dataslots, including populating respective said data slots in said datablock with respective said data items from said set; and transmittingsaid data block in a wireless manner.
 18. A method according to claim17, including configuring said request to include a list thatindividually identifies each of said plural data items in said set. 19.A method according to claim 17, including: storing in said tag aplurality of different predefined set definitions that each identify arespective different plurality of data items; configuring said requestto identify one of said set definitions; and carrying out saidpopulating of the data slots in said data block using the data itemsidentified by the set definition identified in said request.
 20. Amethod according to claim 17, including configuring said request toinclude an identification of the length of a time interval during whichsaid tag is to transmit a wireless transmission in response to saidrequest.
 21. A method according to claim 17, including: receiving insaid tag wireless signpost signals that each include a signpostidentification code; configuring said request to identify a range ofsignpost identification codes; and inhibiting said wireless transmissionof said data block by said tag if the signpost identification code mostrecently received by said tag is outside said range of identificationcodes.
 22. A method according to claim 17, wherein said transmitting ofsaid data block includes: dividing said data block into a plurality ofdata segments; and effecting a plurality of successive transmissionsthat each include a respective said data segment.
 23. A method accordingto claim 22, including: receiving in said tag a series of wirelesscommunications, the first of which is said request; and transmittingeach of said successive transmissions in response to receipt of arespective one of said communications in said series.
 24. A methodaccording to claim 23, including configuring each said wirelesscommunication in said series after said request to include a respectivesequence identifier that uniquely identifies a respective said datasegment that said tag is to transmit in the next of said successivetransmissions.
 25. A method according to claim 22, including configuringsaid request to include information that determines a maximumpermissible size for said data segments.
 26. A method according to claim22, including configuring said successive transmissions to each includea respective sequence identifier that uniquely identifies a respectivesaid data segment in said data block.
 27. A method according to claim26, including selecting successive integers-in reverse numerical orderto serve as said sequence identifiers, the sequence identifier in thefirst of said successive transmissions being the total number of datasegments in said data block.
 28. A method according to claim 17, whereinsaid transmitting includes sending routing information with said datablock, said routing information identifying a destination for said datablock.
 29. A method according to claim 17, including configuring saiddata block so that said data slots each conform to a uniform format. 30.A method according to claim 29, including configuring said uniformformat so that each said data slot has a data field containing thecorresponding data item, a length field that identifies the length ofthe data field, and a type field that identifies the type of data itemin the data field.